home *** CD-ROM | disk | FTP | other *** search
/ Scene Storm / Scene Storm - Volume 1.iso / coding / c / fp_adpcm / adpcm_dt / source / classbase.h < prev    next >
C/C++ Source or Header  |  1995-08-25  |  3KB  |  94 lines

  1. /******************************************************************************
  2.  *
  3.  * ADPCM Datatype, based on the sourcecode found in OS3.1 Native Developer Kit
  4.  *
  5.  * Written by Christian Buchner
  6.  *
  7.  ******************************************************************************
  8.  * classbase.h
  9.  *
  10.  */
  11.  
  12. #include <dos/dos.h>
  13. #include <dos/dosextens.h>
  14. #include <exec/types.h>
  15. #include <exec/ports.h>
  16. #include <exec/memory.h>
  17. #include <exec/lists.h>
  18. #include <exec/devices.h>
  19. #include <exec/semaphores.h>
  20. #include <exec/execbase.h>
  21. #include <devices/audio.h>
  22. #include <intuition/classes.h>
  23. #include <intuition/classusr.h>
  24. #include <intuition/cghooks.h>
  25. #include <intuition/gadgetclass.h>
  26. #include <utility/tagitem.h>
  27. #include <datatypes/datatypes.h>
  28. #include <datatypes/datatypesclass.h>
  29. #include <datatypes/soundclass.h>
  30. #include <libraries/iffparse.h>
  31. #include <string.h>
  32. #include <dos.h>
  33.  
  34. #include <clib/macros.h>
  35. #include <clib/dos_protos.h>
  36. #include <clib/exec_protos.h>
  37. #include <clib/intuition_protos.h>
  38. #include <clib/utility_protos.h>
  39. #include <clib/datatypes_protos.h>
  40. #include <clib/dtclass_protos.h>
  41. #include <clib/alib_protos.h>
  42.  
  43. #include <pragmas/dos_pragmas.h>
  44. #include <pragmas/exec_pragmas.h>
  45. #include <pragmas/intuition_pragmas.h>
  46. #include <pragmas/utility_pragmas.h>
  47. #include <pragmas/datatypes_pragmas.h>
  48. #include <pragmas/dtclass_pragmas.h>
  49.  
  50. /*****************************************************************************/
  51.  
  52. extern UBYTE __far LibName[];
  53.  
  54. /*****************************************************************************/
  55.  
  56. struct ClassBase
  57. {
  58.     struct Library             cb_Lib;
  59.     struct ExecBase            *cb_SysBase;
  60.     struct Library            *cb_DOSBase;
  61.     struct Library            *cb_IntuitionBase;
  62.     struct Library            *cb_UtilityBase;
  63.     struct Library            *cb_DataTypesBase;
  64.     struct Library            *cb_SuperClassBase;
  65.     BPTR                     cb_SegList;
  66.     struct SignalSemaphore     cb_Lock;        /* Access lock */
  67.     Class                    *cb_Class;
  68. };
  69.  
  70. /*****************************************************************************/
  71.  
  72. #define SysBase            cb->cb_SysBase
  73. #define DOSBase            cb->cb_DOSBase
  74. #define UtilityBase        cb->cb_UtilityBase
  75. #define    IntuitionBase    cb->cb_IntuitionBase
  76. #define    DataTypesBase    cb->cb_DataTypesBase
  77. #define SuperClassBase    cb->cb_SuperClassBase
  78.  
  79. /*****************************************************************************/
  80.  
  81. /* classbase.c */
  82. Class *__asm ObtainClassEngine ( register __a6 struct ClassBase *cb );
  83. struct Library *__asm LibInit ( register __d0 struct ClassBase *cb , register __a0 BPTR seglist , register __a6 struct Library *sysbase );
  84. LONG __asm LibOpen ( register __a6 struct ClassBase *cb );
  85. LONG __asm LibClose ( register __a6 struct ClassBase *cb );
  86. LONG __asm LibExpunge ( register __a6 struct ClassBase *cb );
  87.  
  88. /* dispatch.c */
  89. Class *initClass ( struct ClassBase *cb );
  90. ULONG __asm Dispatch ( register __a0 Class *cl , register __a2 Object *o , register __a1 Msg msg );
  91. BOOL ConvertObjectData ( struct ClassBase *cb , Class *cl , Object *o , struct TagItem *attrs );
  92. ULONG setdtattrs ( struct ClassBase *cb , Object *o , ULONG data , ...);
  93. ULONG getdtattrs ( struct ClassBase *cb , Object *o , ULONG data , ...);
  94.